<?php
namespace app\exception;

/** 
* 用户自定义异常
*/
class Base extends \Exception {

    // http状态码
    public $httpCode  = 404;
    // 错误提示
    public $msg       = '操作失败';
    // 系统错误码
    public $errorCode = 1000;

    public $_data = [];
    
    public function __construct($msg=null, $errorCode=null){
        is_null($errorCode) || $this->errorCode = $errorCode;
        is_null($msg)       || $this->msg       = $msg;
        // 应用多语言中重定义的提示信息 
        // 优先级 = 多语言文件 > 硬编码 > 默认值
        $langKey   = 'errorCodeMsg.' . $this->errorCode;
        $langValue = lang($langKey);
        if ($langKey != $langValue ) {
            $this->msg = $langValue;
        }
    }
}